Building a Kermeta Compiler using Scala: an Experience Report
نویسندگان
چکیده
This paper presents an experience report of building a Kermeta compiler using Scala as a target language. Kermeta is a domain specific language inspired by languages such as Eiffel or OCL for specifying the operational semantics of metamodels. This engineering work, initially motivated by performance issues of our Kermeta interpreter, is an excuse to study and discuss some paradigm mismatches between Scala and Kermeta. We particulary discuss the mapping on Scala of Kermeta concepts :open classes, multiple inheritance, design by contracts, model type, etc.
منابع مشابه
A Demonstration for Building Modular and Efficient DSLs
This demonstration presents the new version (v2 ) of the Kermeta workbench that uses one domain-specific meta-language per language implementation concern. We show that the usage and combination of those meta-languages is simple and intuitive enough to deserve the term mashup and implemented as an original modular compilation scheme in the new version of Kermeta. This demonstration illustrates ...
متن کاملImproving Human-Compiler Interaction Through Customizable Type Feedback
Type errors reported by compilers can sometimes be cryptic, or difficult to understand. In this paper, we propose a type debugging framework that exposes a high-level representation of the typechecking decision-making process that users normally do not have access to in state-of-the-art compilers. This representation makes it easier for non-experts to analyze complex type errors. Our system is ...
متن کاملImplementation of the History Aware Programming Language through Translation into Scala
Many organizations handle information about individuals that those individuals consider private. In many cases, these organizations are required to comply with many regulations that protect this information. This sensitive information is often processed electronically, and there is frequently no rigorous basis for claiming that these software systems comply with regulations. As part of a larger...
متن کاملTool Demo: Scala-Virtualized
This paper describes Scala-Virtualized, which extends the Scala language and compiler with a small number of features that enable combining the benefits of shallow and deep embeddings of DSLs. We demonstrate our approach by showing how to embed three different domain-specific languages in Scala. Moreover, we summarize how others have been using our extended compiler in their own research and te...
متن کاملModel Driven Language Engineering with Kermeta
In many domains such as telecom, aerospace and automotive industries, engineers rely on Domain Speci c Modeling Languages (DSML) to solve the complex issues of engineering safety critical software. Traditional Language Engineering starts with the grammar of a language to produce a variety of tools for processing programs expressed in this language. Recently however, many new languages tend to b...
متن کامل